
//单例模式 - 懒汉模式
class Singleton2{
    //1、就不是立即初始化实例
    private static volatile Singleton2  instance;// 默认值：Null
    //2、把构造方法设为 private
    private Singleton2(){};
    //3、提供一个公开的方法，来获取这个 单例模式的唯一实例
    public static Singleton2 getInstance(){
        if(instance == null){
            // 只有当我们真正用到这个实例的时候，才会真正去创建这个实例
            synchronized(Singleton2.class){
                if(instance == null){
                    instance = new Singleton2();
                }
            }
        }
        return instance;
    }
}

public class Test20 {
    public static void main(String[] args) {
        Singleton2 instance = Singleton2.getInstance();
    }
}
